// // Object.assign 方法

// const source1 = {
//     a: 123,
//     b: 1234,
// }

// const source2 = {
//     b: 789,
//     d: 789
// }

// const target = {
//     a: 456,
//     c: 456
// }
// // 第一个参数是目标对象 第二个参数之后是源对象
// // 将第二个及之后对象的参数复制到第一个对象 返回第一个对象
// const result = Object.assign(target, source1, source2)

// console.log(target);
// console.log(result === target);

function func (obj) {
    //会改变外部obj
    // obj.name = 'func obj'
    // console.log(obj);

    const funcObj = Object.assign({}, obj)
    funcObj.name = 'func obj'
    console.log(funcObj);
}

const obj = {name: 'global obj'}

func(obj)
console.log(obj);